Skip to content

feat: tracel-artifact uploads parts concurrently - #203

Merged
Marc-AnthonyG merged 1 commit into
feat/tracel-runtimefrom
feat/concurrent-artifact-uploads
Oct 14, 2026
Merged

Marc-AnthonyG merged 1 commit into
feat/tracel-runtimefrom
feat/concurrent-artifact-uploads

Conversation

@jwric

@jwric jwric commented Oct 14, 2026

Copy link
Copy Markdown
Member

tracel-artifact uploads a multipart plan's parts concurrently. Stacked on #202.

  • The whole plan is checked against its source before anything is sent: no duplicate files, parts numbered from 1 that cover each file exactly.
  • Up to eight parts upload at once, in file and part order, each streamed from its reader rather than buffered.
  • Readers open, and the TransferObserver is called, on the calling thread. The public API and its bounds don't change.
  • Progress now arrives as each part's bytes are read, not once per part. Several files can be in progress at once, and every call names its file.
  • The first failure or a cancellation stops the parts not yet started and aborts those in flight.

tracel-ai/tracel-cli#43 uses it for models push and code-version uploads.

@jwric
jwric added this pull request to stack #204 October 14, 2026 20:33
@jwric
jwric force-pushed the feat/concurrent-artifact-uploads branch from 7d74897 to fbb35e1 Compare October 14, 2026 20:58
@jwric
jwric removed this pull request from stack #204 October 14, 2026 21:03
@jwric
jwric added this pull request to stack #206 October 14, 2026 21:03
@jwric jwric closed this Oct 14, 2026
@jwric jwric reopened this Oct 14, 2026
@jwric
jwric force-pushed the feat/concurrent-artifact-uploads branch 2 times, most recently from 60ccaa2 to f52ee9e Compare October 14, 2026 21:56

@Marc-AnthonyG Marc-AnthonyG left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only upload do we have something for download?

- A multipart upload checks the whole plan against its source first,
  then uploads up to eight parts at a time, in file and part order.
- Parts are streamed from their readers, which open on the calling
  thread, and the observer hears of every file there too, now as each
  part's bytes are read rather than once per part.
- The first failure or a cancellation stops the parts not yet started
  and aborts those in flight.
@Marc-AnthonyG
Marc-AnthonyG force-pushed the feat/concurrent-artifact-uploads branch from f52ee9e to 47d4588 Compare October 14, 2026 23:50
@Marc-AnthonyG
Marc-AnthonyG marked this pull request as ready for review October 14, 2026 23:57
@Marc-AnthonyG
Marc-AnthonyG merged commit f765711 into main Oct 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants